<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title></title>
</head>
<body>

<script type="text/javascript">
    // 给Function原型增加method()方法，使得构造函数能够使用method方法增加原型方法
    if (typeof Function.prototype.method !== "function") {
        Function.prototype.method = function (name, implementation) {
            this.prototype[name] = implementation;
            return this;                                           // 返回this对象是因为可以使用链模式给构造函数连续添加原型方法
        }
    }
    // eg:
    var Person = function(name) {
        this.name = name;
    }.method("getName", function(){                      // 链式操作
        return this.name;
    }).method("setName", function(name){                  // 链式操作
        this.name = name;
        return this;
    });

    var person = new Person("tim");
    alert(person.getName());
    alert(person.setName("duncan").getName());

</script>
</body>
</html>